package com.tongfusoft.document.manager.metadata.service;

import java.util.List;

import com.tongfusoft.da.pagehelper.PageInfo;
import com.tongfusoft.document.dto.IpFieldsetsDto;
import com.tongfusoft.document.entity.MetadataDefine;
import com.tongfusoft.document.entity.Users;


public interface IMetadataService {

	/**
	 * 创建元数据
	 * @param define
	 * @param user
	 */
	public void createMetadata(MetadataDefine define,Users user);
	
	/**
	 * 修改元数据
	 * @param define
	 * @param user
	 */
	public void updateMetadata(MetadataDefine define,String metadataId ,Users user);
	
	/**
	 * 删除元数据
	 * @param define
	 * @param user
	 */
	public void deleteMetadata(MetadataDefine define,Users user);
	
	/**
	 * 获取元数据列表
	 * @param pageSize
	 * @param pageIndex
	 * @param param
	 * @return
	 */
	public PageInfo metadataList(int pageSize,int pageIndex,MetadataDefine define);
	
	/**
	 * 通过某一字段获得元数据
	 * @param define
	 * @return
	 */
	public MetadataDefine getMetadata(MetadataDefine define);
	
	/**
	 * 获取可用元数据
	 * @param profileId
	 * @return
	 */
	public List<MetadataDefine> getIsEnableMeta();
	
	/**
	 * 根据模版获取对应的元数据
	 * @param profileId
	 * @return
	 */
	public  List<IpFieldsetsDto> getIsEnableMetaByProFile(String profileId);
	
	/**
	 * 更新状态
	 * @param define
	 * @param isEnable
	 * @param user
	 */
	public void updateIsEnable(MetadataDefine define,String isEnable,Users user);
	
}
